package dp.memento.historyOnSelf;


/**
 * 
　　备忘录角色有如下责任：
　　（1）将发起人（Originator）对象的内部状态存储起来。
　　（2）备忘录可以保护其内容不被发起人（Originator）对象之外的任何对象所读取。
　　发起人角色有如下责任：
　　（1）创建一个含有它当前的内部状态的备忘录对象。
　　（2）使用备忘录对象存储其内部状态。
　　客户端角色有负责保存备忘录对象的责任。
 *
 */
public class Client {
    public static void main(String[] args) {
        Originator o = new Originator();
        //修改状态
        o.changeState("state 0");
        //创建备忘录
        MementoIF memento = o.createMemento();
        //修改状态
        o.changeState("state 1");
        //按照备忘录恢复对象的状态
        o.restoreMemento(memento);
    }
}
